﻿//**************************************************//
// Función que válida solo números                  //
// Modificado Por: Vanessa Pacheco                  //
// Fecha Modificado: 10/07/2009                     //
//**************************************************//
function ValNumero(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);

    var myRe = /^[0-9.,]+$/;
    if ((myRe.test(caract))) {
        return true;
    } else {
        return false;
    }
}
//**************************************************//
// Función que válida montos                        //
// Modificado Por: Sandra Sardá                     //
// Fecha Modificado: 05/10/2009                     //
//**************************************************//
function ValMonto(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);

    var myRe = /^[0-9,.]+$/;
    if ((myRe.test(caract))) {
        return true;
    } else {
        return false;
    }
}
//**************************************************//
// Función que válida solo números                  //
// Modificado Por: Sandra Sardá                     //
// Fecha Modificado: 05/10/2009                     //
//**************************************************//
function ValSoloNumeros(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);

    var myRe = /^[0-9]+$/;
    if ((myRe.test(caract))) {
        return true;
    } else {
        return false;
    }
}

//**************************************************//
// Función que válida solo letras                   //
// Modificado Por: Vanessa Pacheco                  //
// Fecha Modificado: 10/07/2009                     //
//**************************************************//
function ValNombre(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);
    var myRe = /^[A-ZñÑa-z ]+$/

    if ((myRe.test(caract))) {
        return true;
    } else {
        return false;
    }
}
function ValNombreconNumeros(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);
    var myRe = /^[A-ZñÑa-z 0-9]+$/

    if ((myRe.test(caract))) {
        return true;
    } else {
        return false;
    }
}

function ValDireccion(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);
    var myRe = /^[A-ZñÑa-z áéíóúÁÉÍÓÚ0()-9]+$/

    if ((myRe.test(caract))) {
        return true;
    } else {
        return false;
    }
}
//**************************************************//
// Función que válida solo números                  //
// Modificado Por: Vanessa Pacheco                  //
// Fecha Modificado: 10/07/2009                     //
//**************************************************//
function ValNumero(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);

    var myRe = /^[0-9,.]+$/;
    if ((myRe.test(caract))) {
        return true;
    } else {
        return false;
    }
}



//CEDULA
//Valida los caracteres a ingresar en el TextBox del GridView
//Agregado por Edgar Teixeira -- 06/03/2009
/*********************************************************************************/
function ValCedula(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);
    if (eve.srcElement.value.length == 0) {

        var myRe = /^[VEve]\d{8}$/;

        if ((myRe.test(caract))) {
            return true;
        } else {
            return false;
        }

    }
    else {

        var myRe = /^\d$/;
        if ((myRe.test(caract))) {
            return true;
        } else {
            return false;
        }

    }

}
//Rif
//Valida los caracteres a ingresar en el TextBox del GridView
//Agregado por Ruben Besteiro -- 06/04/2009
/*********************************************************************************/
function ValRif(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);
    if (eve.srcElement.value.length == 0) {

        var myRe = /^[JjGg]$/;

        if ((myRe.test(caract))) {
            return true;
        } else {
            return false;
        }

    }
    else {

        var myRe = /^\d$/;
        if ((myRe.test(caract))) {
            return true;
        } else {
            return false;
        }

    }

}


//CEDULA
//Valida los caracteres a ingresar en el TextBox del GridView
//Agregado por Edgar Teixeira -- 06/03/2009
/*********************************************************************************/
function ValAlfaNumerico(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);
    if (eve.srcElement.value.length == 0) {

        var myRe = /^[A-Za-z0-9 ]+$/;

        if ((myRe.test(caract))) {
            return true;
        } else {
            return false;
        }

    }
    else {

        var myRe = /^\d$/;
        if ((myRe.test(caract))) {
            return true;
        } else {
            return false;
        }

    }

}

function noCTRL(e) {
    var code = (document.all) ? event.keyCode : e.which;
    var ctrl = (document.all) ? event.ctrlKey : e.modifiers & Event.CONTROL_MASK;
    var msg = "Esta Operacion Se Encuentra Bloqueada";
    if (document.all) {
        if (ctrl && code == 86) //CTRL+V
        {
            alert(msg);
            window.event.returnValue = false;
        }
        else if (ctrl && code == 67) //CTRL+C 
        {
            alert(msg);
            window.event.returnValue = false;
        }
    }
    else {
        if (ctrl == 2) //CTRL letra
        {
            alert(msg);
            return false;
        }
    }
}
function inhabilitar() {
    alert("Esta función está inhabilitada.")
    return false
}

//document.oncontextmenu = inhabilitar


//**************************************************//
// Función que válida caracteres alfanumericos      //
// Creado Por: Vanessa Valente                      //
// Fecha Modificado: 10/07/2009                     //
//**************************************************//
function ValAlfanumerico(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);

    var myRe = /^[0-9a-zA-Z,.#-ñÑ -.]+$/;
    if ((myRe.test(caract))) {
        return true;
    } else {
        return false;
    }
}

function ValAlfanumericoblanco(eve) {
    var key = eve.keyCode || eve.charCode;
    var caract = String.fromCharCode(key);

    var myRe = /^[0-9a-zA-Z, .#-]+$/;
    if ((myRe.test(caract))) {
        return true;
    } else {
        return false;
    }
}

//**************************************************//
// Función que el maxlength del textarea multiline  //
// Creado Por: Sandra SArda                         //
// Fecha Modificado: 30/06/2010                    //
//**************************************************//
function ValidarCaracteres(textareaControl, maxlength) {
    if (textareaControl.value.length > maxlength) {
        textareaControl.value = textareaControl.value.substring(0, maxlength);
        //alert("Debe ingresar hasta un maximo de " + maxlength + " caracteres"); 
    }
}

function ValidaTelefono(source, arguments) {
    var tlf = arguments.Value;
    for (i = 0; i <= arguments.Value.length - 1; i++) {
        tlf = tlf.replace("-", "")
        tlf = tlf.replace("_", "")
        tlf = tlf.replace("(", "")
        tlf = tlf.replace(")", "")
    }
    if (tlf.length == 0 || tlf.length == 11) {
        arguments.IsValid = true;
    }
    else
        arguments.IsValid = false;

    //var ctrl = "document.getElementById('h" + source.id.substring(4, source.id.toString().length) + "').value = tlf";

    // eval(ctrl);
    //alert(document.getElementById("hTelefonoCentral").value);
}


function ValidaCuenta(source, arguments) {
    var cta = arguments.Value;
    for (i = 0; i <= arguments.Value.length - 1; i++) {
        cta = cta.replace("_", "")
    }
    if (cta.length == 20) {
        arguments.IsValid = true;
    }
    else
        arguments.IsValid = false;

    //var ctrl = "document.getElementById('h" + source.id.substring(4, source.id.toString().length) + "').value = tlf";

    // eval(ctrl);
    //alert(document.getElementById("hTelefonoCentral").value);
}
/*

Funcion que asigna el saldo del precio en base 
a la resta de la inicial menos Precio de la venta

*/

function ValidaSaldo(valueUno, valueDos, valueTres, PorcentageCalc, valueMountPor, MountFij, ConstFij) {

    if ((valueUno != null) && (valueDos != null)) {
        var v1 = valueUno.value.replace(/[#]/g, "").replace(/[.]/g, "").replace(/[,]/g, ".")
        var v2 = valueDos.value.replace(/[#]/g, "").replace(/[.]/g, "").replace(/[,]/g, ".")
        //var v3 = valueTres.value.replace(/#/g, "");
        // alert(v1);
        if ((v1 != "") && (v2 != "")) {
            var Total = v1 - v2;
            Total = CommaFormatted(Total.toFixed(2))
            //alert(Total); 
            valueTres.value = Total; //.toString().replace(/[.]/g, ",");
            CalculaPorcentaje(valueTres, PorcentageCalc, valueMountPor, MountFij, ConstFij);
            return true;
        }

    } else { return false; }

}


/*

Funcion que saca el porcentage en funcion del monto 
de financiamiento y el porcentaje FL

*/

function CalculaPorcentaje(valueFin, PorcentageCalc, valueMountPor, MountFij, ConstFij) {

    if ((valueFin != null) && (PorcentageCalc != null)) {
        Total = "";
        var v1 = valueFin.value.replace(/[#]/g, "").replace(/[.]/g, "").replace(/[,]/g, ".")
        if ((v1 != "") && (PorcentageCalc.value != "")) {
            var Total = ((v1 * PorcentageCalc.value) / 100);
            //valueMountPor.value = Total.toFixed(2).toString();
            Total = CommaFormatted(Total.toFixed(2))
            valueMountPor.value = Total;
            CalculaValorFijo(valueMountPor, MountFij, ConstFij)
            return true;
        }

    } else { return false; }

}

function CalculaValorFijo(valueMountPor, MountFij, ConstFij) {

    if ((valueMountPor != null) && (MountFij != null) && (ConstFij != null)) {



        if ((valueMountPor != "") && (MountFij.value != "") && (ConstFij.value != "")) {
            v1 = valueMountPor.value.replace(/[.]/g, "").replace(/[,]/g, ".");
            v2 = ConstFij.value.replace(/[.]/g, "").replace(/[,]/g, ".");

            var Total = (v1 * 1) + (v2 * 1);
            //valueMountPor.value = Total.toFixed(2).toString();
            Total = CommaFormatted(Total.toFixed(2));
            MountFij.value = Total;

            return true;
        }

    } else { return false; }

}





function CommaFormatted(amount) {
    var delimiter = "."; // replace comma if desired
    var a = amount.toString().split('.')
    var d = a[1];
    var i = parseInt(a[0]);
    if (isNaN(i)) { return ''; }
    var minus = '';
    if (i < 0) { minus = '-'; }
    i = Math.abs(i);
    var n = new String(i);
    var a = [];
    while (n.length > 3) {
        var nn = n.substr(n.length - 3);
        a.unshift(nn);
        n = n.substr(0, n.length - 3);
    }
    if (n.length > 0) { a.unshift(n); }
    n = a.join(delimiter);
    if (d.length < 1) { amount = n; }
    else { amount = n + ',' + d; }
    amount = minus + amount;
    return amount;
}
